package com.kc.data.common.domain.order.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;


import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 订单->商品
 */
@Data
@TableName(value = "kc_order_goods")
public class BizOrderGoods {
    @TableId
    /*主键id*/
    private Integer id;
    /*用户ID*/
    private Integer userId;
    /*订单id*/
    private Integer orderId;
    /*商品id*/
    private Integer goodsId;
    /*商品名称*/
    private String goodsName;
    /*商品图片*/
    private String thumb;
    /*商品实际支付金额*/
    private BigDecimal actualPayMoney;
    /*商品创建时间*/
    private LocalDateTime createTime;
    /*商品分润标识*/
    @TableField(exist = false)
    private String shareProductTypeKey;
    /*商品分润版本*/
    @TableField(exist = false)
    private Integer shareProductVersion;
    /*上传来源 0/自己(卡戳) 1/景区 2/名家 3/市场 4/商家*/
    private Integer entryType;
    /*运费*/
    private Double expressFee;
    /*发货地*/
    private String goodsAddress;
    /*价格*/
    private Double price;
    /*商品数据*/
    @TableField(exist = false)
    private String goodsData;
    /*商品数量*/
    private Integer goodsNum;
    /*规格名称*/
    private String specsName;
    //sku名称
    private String skuName;
    /*是否溯源*/
    private Integer isForty;
    /*剩余可寄卖数量*/
    @TableField(exist = false)
    private Integer consignmentNum;
    private Integer status;
    /*优惠券/红包金额*/
    private Double couponMoney;
    /*优惠券/红包id*/
    @TableField(exist = false)
    private String couponId;
    /*退款时间*/
    private String refundtime;
    /*退款回调数据*/
    private String refundPayData;
    /*退款备注*/
    private String refundRemark;
    /*退款凭证图片*/
    private String refundImage;
    /*是否延迟结算（用户确认收货后有体验期，可退货）*/
    private Integer isDelay;
    /*删除标识:1已删除，0未删除*/
    @TableField(exist = false)
    private Integer delayDays;

    /*新用户红包金额*/
    private Double userCouponMoney;
    /*用户返现*/
    private Double userWalletMoney;
    /*押金*/
    @TableField(exist = false)
    private Double deposit;
    /*评论id*/
    @TableField(exist = false)
    private Integer commentId;
    /*状态名称*/
    @TableField(exist = false)
    private String statusName;


    public BizOrderGoods() {
    }

    public BizOrderGoods(Integer orderId, Integer goodsId, String goodsName, String thumb, Double expressFee, String goodsAddress, Double price, String goodsData, Integer goodsNum, Integer isForty) {
        this.orderId = orderId;
        this.goodsId = goodsId;
        this.goodsName = goodsName;
        this.thumb = thumb;
        this.expressFee = expressFee;
        this.goodsAddress = goodsAddress;
        this.price = price;
        this.goodsData = goodsData;
        this.goodsNum = goodsNum;
        this.isForty = isForty;
    }
}
